/**
 * @brief Config.h
 */

#ifndef CONFIG_H_
#define CONFIG_H_

#include "EPuck/epuck_types.hpp"

const bool SIMULATION = false; //choose false if you use a real robot

enum ControllerType
{
  FACTS_RULES,
  NEURONAL_NET,
  BRAITENBERG
};

const ControllerType CUR_CONTROLLER = BRAITENBERG;
const gui::EpuckID EPUCK_TYPE = gui::Epuck2477;

//braitenberg config
const double SENSOR_MAX = 2000.0;
const double OFFSET = 600;
const double BASESPEED = 10;
const double MY = 0.0;
const double SIGMA = 0.1;
const unsigned long int COUNTER_THRES = 50u;

//NN config
const int NUM_HIDDEN_UNITS = 2+1;
const int NUM_OUTPUT_UNITS = 2+1;
const int NUM_PATTERNS = 1;
const double WEIGHT_MIN = 0.0; // range from random numbers
const double WEIGHT_MAX = 1.0;


// robo
const double MAX_SPEED = 500;

// others
const unsigned int WAIT_TIME = 5*1000;

#endif /* CONFIG_H_ */
